home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / blit.arc / RECTF.C < prev    next >
Encoding:
C/C++ Source or Header  |  1985-05-23  |  1.0 KB  |  47 lines

  1. /*
  2.  * name:         rectf
  3.  *
  4.  * description: perform the function specified by integer code f,
  5.  *              in a rectangle r, in a bitmap b.
  6.  *
  7.  * synopsis:     rectf (b, r, f)
  8.  *              struct bitmap   *b;
  9.  *              struct rectangle    *r;
  10.  *              int      f;
  11.  *
  12.  * globals:      none.
  13.  *
  14.  * calls:        bitblt   (bitblt.c)
  15.  *
  16.  * called by:    newlayer  (newlayer.c)
  17.  */
  18. #include "layers.h"
  19.  
  20. rectf (b, r, f)
  21. struct bitmap *b;
  22. struct rectangle  *r;
  23. int    f;
  24. {
  25.    switch (f) {
  26.        case clr:
  27.        /*
  28.         * clear r to zeros
  29.         */
  30.            (void) bitblt (null, r, b, &(r -> origin), null, all_zeros);
  31.            break;
  32.        case or:
  33.        case store:
  34.        /*
  35.         * set r to ones
  36.         */
  37.            (void) bitblt (null, r, b, &(r -> origin), null, all_ones);
  38.            break;
  39.        case xor:
  40.        /*
  41.         * invert bits in r
  42.         */
  43.            (void) bitblt (null, r, b, &(r -> origin), null, nd);
  44.            break;
  45.    }
  46. }
  47.